草庐IT

MySQL GROUP_CONCAT 和 DISTINCT

全部标签

php - 如何从 GROUP_CONCAT 中删除单个行?

我正在编写一个带有评论的新闻更新系统。我有三个表。news_tblusers_tbl(authorsofnewsposts)comments_tbl(isconnectedwithaforeignkey-news_id)我已经尝试了两种使用和不使用GROUP_CONCAT的方法。我试过这个:SELECT*,COUNT(comments_tbl.comments_id)AS`comments_count`FROMnews_tblASnLEFTJOINusers_tblASuONn.user=u.usernameLEFTJOINcomments_tblAScONc.news_id=n.ne

mysql - 在单个查询中为每个 DISTINCT 记录选择多个记录

我需要为每个不同的记录选择几行。几乎就像这里问的一样SelectfirstnrecordsforeachdistinctIDinSQLServer2008,虽然我用的是MySQL。在这种情况下,可以通过运行21个查询来实现目的:1个常规查询和20个获取子记录的查询,即如下所示:SELECTDISTINCT`user_id`FROM`posts`WHERE`deleted`='0'ORDERBY`user_id`ASCLIMIT20...选择所有需要的行,然后SELECT*FROM`posts`WHERE`deleted`='0'AND`user_id`=?ORDERBY`id`DESC

Mysql 查询仅选择 GROUP_CONCAT 中具有唯一结果的行

有没有办法只选择结果与先前选择的行不同的行?在我的一张表中,我存储了广告数据,每个广告一行。我还在另一个表中存储了每天、每周、每月的租金价格,该表每个广告包含不止一行。我想在与数据选择相同的查询中选择表2中其中一个价格发生变化的所有行(在表2的示例行1和3中)。我知道在这种情况下我必须使用GROUP_CONCAT来获取一行而不是2行结果,但是如何从表2中获取2个结果行和总共1个结果行?查询的结果必须类似于:tre,234,”12345678911,12,45,32555678911,12,67”Table1(advertisements)ID_advdata1data21tre2342

mysql - 如何提高跨三个连接表的 DISTINCT 选择的性能?

我有以下表格有问题:角色ImpressionsPersonas[连接表-PersonasManyToManyImpressions]印象我的查询看起来像这样,EXPLAIN结果附在下面:SELECTDISTINCT(Personas.id),Personas.parent_id,Personas.persona,Personas.subpersonas_count,Personas.is_subpersona,Personas.impressions_count,Personas.created,Personas.modifiedFROMpersonasasPersonasINNERJ

MySQL 5.5 "select distinct"真的很慢

我的应用经常做的事情之一是:selectcount(distinctid)fromx;id是表x的主键。对于MySQL5.1(和5.0),它看起来像这样:mysql>explainSELECTcount(distinctid)fromx;+----+-------------+----------+-------+---------------+-----------------+---------+------+---------+-------------+|id|select_type|table|type|possible_keys|key|key_len|ref|rows|E

mysql - SELECT DISTINCT 在 MySQL 中如何工作?

我有一个包含多行且数据相同的表。我使用SELECTDISTINCT来获得一个唯一的行并且它工作正常。但是当我将ORDERBY与SELECTDISTINCT一起使用时,它会给我未排序的数据。谁能告诉我distinct是如何工作的?它根据什么标准选择行? 最佳答案 根据您之前的评论,您尝试运行的查询是Selectdistinctidfromtablewhereid2=12312orderbytimedesc.如我所料,这是你的问题。您的选择列和按列排序不同。您的输出行按时间排序,但该顺序不一定需要保留在id列中。这是一个例子。id|id

PHP mysql Distinct,只加载一组id

我正在尝试获取顺序与唯一ID无关的数据。所以我的查询很简单SELECTDISTINCTid1,id2FROMmessagesORDERBYdate如果我有一个包含以下数据的数据库:id1|id2|date5|6|1/2/20116|5|1/1/2011我只需要加载具有最新日期的列,因为id是相同的2个人。真的,我必须加载ID,其中一个ID是你的,所以我现在真正的查询是SELECTDISTINCTuserid_1,userid_2FROMmessagesWHEREuserid_2=$dbidORuserid_1=$dbidORDERBYdate我得到的结果是[65][59][95][51

mysql - 表与多个 group_concat 连接

我在使用group_concat连接表时遇到问题。这是详细信息。表订单:item_cdorder_iddescsquantitystatusseq_no1100coca-cola2A2322100pizza1A2333101cheeseburger5A2344102pepsi4A2354表格说明:item_cdinstruction3morecheese3lessvegetable取消项目表:quantityseq_no123412341235现在我想要实现的是这样的:item_cddescsquantityinstructionscancelled_item1coca-cola2--

MySQL GROUP_CONCAT 和 DISTINCT

我有这样的tb1表:nameemaillinkjohnmyemail@gmail.comgooglejohnmyemail@gmail.comfacebookjohnmyemail2@gmail.comtwitter........andmore当我用查询调用数据时看起来像SELECTname,email,group_concat(DISTINCTlinkSEPARATOR'/')assourceFROMtb1groupbyemail结果是这样的:NAMEEMAILSOURCEjohnmyemail2@gmail.comtwitterjohnmyemail@gmail.comfaceb

MySQL DISTINCT 和重音符号

在Debian上运行的MySQL数据库(版本5.5.41-0+wheezy1-log)。表hotels有一个列nameVARCHAR(128)并且引擎是InnoDB。CREATETABLE`hotels`(`id`int(11)unsignedNOTNULLAUTO_INCREMENT`name`varchar(128)NOTNULLDEFAULT''COMMENT'HotelName',PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=0DEFAULTCHARSET=utf8;这个表中有两条记录:1BESTWESTERNPREMIERLECAR